From 406724ba5ae2b2bf82b847d1079de9b849b8d124 Mon Sep 17 00:00:00 2001 From: Alex Williamson Date: Wed, 7 Nov 2007 15:11:44 -0700 Subject: [PATCH] [IA64] Fix breakage from upstream and remove duplicate code - Get rid of PAGE_SIZE usage in arch-ia64.h when building tools. - Now that more of xen_init_fv is identical to x86 code, share the code rather than duplicate it. - Change a few things that came over from the ia64 tree to use the XC_* macros as already done upstream. Signed-off-by: Alex Williamson --- tools/ioemu/hw/xen_machine_fv.c | 28 +++++----------------------- xen/include/public/arch-ia64.h | 18 ++++++++++++------ 2 files changed, 17 insertions(+), 29 deletions(-) diff --git a/tools/ioemu/hw/xen_machine_fv.c b/tools/ioemu/hw/xen_machine_fv.c index 3a68b11e4f..22ba1dbc3f 100644 --- a/tools/ioemu/hw/xen_machine_fv.c +++ b/tools/ioemu/hw/xen_machine_fv.c @@ -203,6 +203,7 @@ static void xen_init_fv(uint64_t ram_size, int vga_ram_size, char *boot_device, fprintf(logfile, "qemu_map_cache_init returned: error %d\n", errno); exit(-1); } +#endif xc_get_hvm_param(xc_handle, domid, HVM_PARAM_IOREQ_PFN, &ioreq_pfn); fprintf(logfile, "shared page at pfn %lx\n", ioreq_pfn); @@ -222,36 +223,17 @@ static void xen_init_fv(uint64_t ram_size, int vga_ram_size, char *boot_device, exit(-1); } -#elif defined(__ia64__) - - xc_get_hvm_param(xc_handle, domid, HVM_PARAM_IOREQ_PFN, &ioreq_pfn); - fprintf(logfile, "shared page at pfn %lx\n", ioreq_pfn); - shared_page = xc_map_foreign_range(xc_handle, domid, PAGE_SIZE, - PROT_READ|PROT_WRITE, ioreq_pfn); - if (shared_page == NULL) { - fprintf(logfile, "map shared IO page returned error %d\n", errno); - exit(-1); - } - - xc_get_hvm_param(xc_handle, domid, HVM_PARAM_BUFIOREQ_PFN, &ioreq_pfn); - fprintf(logfile, "buffered io page at pfn %lx\n", ioreq_pfn); - buffered_io_page = xc_map_foreign_range(xc_handle, domid, PAGE_SIZE, - PROT_READ|PROT_WRITE, ioreq_pfn); - if (buffered_io_page == NULL) { - fprintf(logfile, "map buffered IO page returned error %d\n", errno); - exit(-1); - } - +#if defined(__ia64__) xc_get_hvm_param(xc_handle, domid, HVM_PARAM_BUFPIOREQ_PFN, &ioreq_pfn); fprintf(logfile, "buffered pio page at pfn %lx\n", ioreq_pfn); - buffered_pio_page = xc_map_foreign_range(xc_handle, domid, PAGE_SIZE, + buffered_pio_page = xc_map_foreign_range(xc_handle, domid, XC_PAGE_SIZE, PROT_READ|PROT_WRITE, ioreq_pfn); if (buffered_pio_page == NULL) { fprintf(logfile, "map buffered PIO page returned error %d\n", errno); exit(-1); } - nr_pages = ram_size / PAGE_SIZE; + nr_pages = ram_size / XC_PAGE_SIZE; page_array = (xen_pfn_t *)malloc(nr_pages * sizeof(xen_pfn_t)); if (page_array == NULL) { @@ -267,7 +249,7 @@ static void xen_init_fv(uint64_t ram_size, int vga_ram_size, char *boot_device, if (ram_size > MMIO_START) { for (i = 0 ; i < (MEM_G >> XC_PAGE_SHIFT); i++) page_array[(MMIO_START >> XC_PAGE_SHIFT) + i] = - (STORE_XC_PAGE_START >> XC_PAGE_SHIFT); + (STORE_PAGE_START >> XC_PAGE_SHIFT); } phys_ram_base = xc_map_foreign_batch(xc_handle, domid, diff --git a/xen/include/public/arch-ia64.h b/xen/include/public/arch-ia64.h index 69cd756dca..d197a79bfa 100644 --- a/xen/include/public/arch-ia64.h +++ b/xen/include/public/arch-ia64.h @@ -73,6 +73,12 @@ DEFINE_XEN_GUEST_HANDLE(xen_pfn_t); typedef unsigned long xen_ulong_t; +#ifdef __XEN_TOOLS__ +#define XEN_PAGE_SIZE XC_PAGE_SIZE +#else +#define XEN_PAGE_SIZE PAGE_SIZE +#endif + #define INVALID_MFN (~0UL) #define MEM_G (1UL << 30) @@ -93,16 +99,16 @@ typedef unsigned long xen_ulong_t; #define LEGACY_IO_SIZE (64*MEM_M) #define IO_PAGE_START (LEGACY_IO_START + LEGACY_IO_SIZE) -#define IO_PAGE_SIZE PAGE_SIZE +#define IO_PAGE_SIZE XEN_PAGE_SIZE #define STORE_PAGE_START (IO_PAGE_START + IO_PAGE_SIZE) -#define STORE_PAGE_SIZE PAGE_SIZE +#define STORE_PAGE_SIZE XEN_PAGE_SIZE -#define BUFFER_IO_PAGE_START (STORE_PAGE_START+STORE_PAGE_SIZE) -#define BUFFER_IO_PAGE_SIZE PAGE_SIZE +#define BUFFER_IO_PAGE_START (STORE_PAGE_START + STORE_PAGE_SIZE) +#define BUFFER_IO_PAGE_SIZE XEN_PAGE_SIZE -#define BUFFER_PIO_PAGE_START (BUFFER_IO_PAGE_START+BUFFER_IO_PAGE_SIZE) -#define BUFFER_PIO_PAGE_SIZE PAGE_SIZE +#define BUFFER_PIO_PAGE_START (BUFFER_IO_PAGE_START + BUFFER_IO_PAGE_SIZE) +#define BUFFER_PIO_PAGE_SIZE XEN_PAGE_SIZE #define IO_SAPIC_START 0xfec00000UL #define IO_SAPIC_SIZE 0x100000 -- 2.30.2